home *** CD-ROM | disk | FTP | other *** search
/ Champak 138 / Volume 138 Aug 19 2011 - Damaged.iso / Games / shadez.swf / scripts / Local / Game / HUD / CHUDPanelMap.as < prev    next >
Encoding:
Text File  |  2011-08-19  |  5.9 KB  |  177 lines

  1. package Local.Game.HUD
  2. {
  3.    import Local.*;
  4.    import Local.Game.*;
  5.    import Local.Game.Level.*;
  6.    import Local.Game.Thing.*;
  7.    import Local.Game.World.*;
  8.    import Local.Game.World.Map.*;
  9.    import Local.Game.World.Map.Cell.*;
  10.    import STC9.IO.*;
  11.    import STC9.System.*;
  12.    import flash.display.*;
  13.    import flash.events.*;
  14.    import flash.filters.*;
  15.    import flash.geom.*;
  16.    import flash.text.*;
  17.    
  18.    public class CHUDPanelMap
  19.    {
  20.       
  21.       private static const zPoint:Point;
  22.       
  23.       {
  24.          if(true)
  25.          {
  26.             zPoint = new Point();
  27.          }
  28.       }
  29.       
  30.       private var mcMapMarker:MovieClip;
  31.       
  32.       private var mScalar:Number;
  33.       
  34.       private var mHUD:CHUD;
  35.       
  36.       private var _mousedown:Point;
  37.       
  38.       private var bmdDraw:BitmapData;
  39.       
  40.       private var mcMap:MovieClip;
  41.       
  42.       private var mScanIndex:int;
  43.       
  44.       private var _start:Point;
  45.       
  46.       private var matScalar:Matrix;
  47.       
  48.       private var bLandscape:Bitmap;
  49.       
  50.       private var bmdBG:BitmapData;
  51.       
  52.       public function CHUDPanelMap(param1:CHUD)
  53.       {
  54.          super();
  55.          mHUD = param1;
  56.          mScanIndex = 0;
  57.       }
  58.       
  59.       public function e_MOUSEMOVE_MAPMARKER(param1:MouseEvent = null) : void
  60.       {
  61.          var _loc2_:Number = NaN;
  62.          _loc2_ = _start.x + (mcMap.mouseX - _mousedown.x);
  63.          mHUD.mLandscape.mDrawPosition = new Point(_loc2_ / mScalar,mHUD.mLandscape.mDrawPosition.y);
  64.          UpdateMapMarker();
  65.       }
  66.       
  67.       public function e_MOUSEDOWN_MAPMARKER(param1:MouseEvent = null) : void
  68.       {
  69.          mcMapMarker.stage.addEventListener(MouseEvent.MOUSE_MOVE,e_MOUSEMOVE_MAPMARKER);
  70.          mcMapMarker.stage.addEventListener(MouseEvent.MOUSE_UP,e_MOUSEUP_MAPMARKER);
  71.          _mousedown = new Point(mcMap.mouseX,mcMap.mouseY);
  72.          _start = new Point(mcMapMarker.x,mcMapMarker.y);
  73.       }
  74.       
  75.       public function DrawThings(param1:Array, param2:int) : void
  76.       {
  77.          var _loc3_:Rectangle = null;
  78.          var _loc4_:CThingMain = null;
  79.          _loc3_ = new Rectangle(0,0,2,2);
  80.          for each(_loc4_ in param1)
  81.          {
  82.             ┬º┬ºpush(Boolean(_loc4_.mShowOnMap));
  83.             if(true)
  84.             {
  85.                ┬º┬ºpush(┬º┬ºpop() && !_loc4_.mInvisible);
  86.             }
  87.             if(┬º┬ºpop())
  88.             {
  89.                _loc3_.x = Math.round(_loc4_.mPosition.x * mScalar) - 1;
  90.                _loc3_.y = Math.round(_loc4_.mPosition.y * mScalar) - 1;
  91.                bmdDraw.fillRect(_loc3_,param2);
  92.                DrawThings(_loc4_.mChildren,param2);
  93.             }
  94.          }
  95.       }
  96.       
  97.       public function UpdateMapMarker() : void
  98.       {
  99.          if(true)
  100.          {
  101.             mcMapMarker.x = mHUD.mLandscape.mDrawPosition.x * mScalar;
  102.             mcMapMarker.y = mHUD.mLandscape.mDrawPosition.y * mScalar;
  103.          }
  104.       }
  105.       
  106.       public function e_MOUSEUP_MAPMARKER(param1:MouseEvent = null) : void
  107.       {
  108.          if(true)
  109.          {
  110.             mcMapMarker.stage.removeEventListener(MouseEvent.MOUSE_UP,e_MOUSEUP_MAPMARKER);
  111.             if(true)
  112.             {
  113.                mcMapMarker.stage.removeEventListener(MouseEvent.MOUSE_MOVE,e_MOUSEMOVE_MAPMARKER);
  114.             }
  115.             _mousedown = null;
  116.          }
  117.       }
  118.       
  119.       public function e_DRAW(param1:Event = null) : void
  120.       {
  121.          var _loc2_:CHUDPanel = null;
  122.          if(true)
  123.          {
  124.             CProfiler.StartProfile("PanelMap.Draw");
  125.          }
  126.          _loc2_ = CHUDPanel(param1.currentTarget);
  127.          if(!_loc2_.mDrawInit)
  128.          {
  129.             InitDraw(_loc2_);
  130.          }
  131.          bmdDraw.lock();
  132.          bmdDraw.copyPixels(bmdBG,bmdBG.rect,zPoint);
  133.          DrawThings(mHUD.mLevel.mEnemyContainer.mChildren,16711680);
  134.          DrawThings(mHUD.mLevel.mFriendContainer.mChildren,65280);
  135.          bmdDraw.unlock();
  136.          UpdateMapMarker();
  137.          CProfiler.StopProfile("PanelMap.Draw");
  138.       }
  139.       
  140.       public function InitDraw(param1:CHUDPanel) : void
  141.       {
  142.          var _loc2_:MovieClip = null;
  143.          param1.mDrawInit = true;
  144.          _loc2_ = new CLevelData.mcTerrainGround();
  145.          _loc2_.mcSize.visible = false;
  146.          _loc2_.width = param1.mSize.width;
  147.          _loc2_.scaleY = mScalar = _loc2_.scaleX;
  148.          _loc2_.height = Math.ceil(_loc2_.height);
  149.          if(_loc2_.height > param1.mSize.height)
  150.          {
  151.             _loc2_.height = param1.mSize.height;
  152.             _loc2_.scaleX = mScalar = _loc2_.scaleY;
  153.             _loc2_.width = Math.ceil(_loc2_.width);
  154.          }
  155.          bmdBG = new BitmapData(Math.floor(_loc2_.width),Math.floor(_loc2_.height),false,4280163870);
  156.          bmdDraw = new BitmapData(Math.floor(_loc2_.width),Math.floor(_loc2_.height),false,0);
  157.          matScalar = new Matrix(1,0,0,1,-_loc2_.mcSize.x,-_loc2_.mcSize.y);
  158.          matScalar.scale(_loc2_.scaleX,_loc2_.scaleY);
  159.          bmdBG.draw(_loc2_,matScalar,null,null,null,true);
  160.          param1.mcContainer.addChild(mcMap = new MovieClip());
  161.          mcMap.addChild(bLandscape = new Bitmap(bmdDraw,"auto",false));
  162.          mcMap.addChild(mcMapMarker = new MapMarker());
  163.          mcMap.x = param1.mSize.x;
  164.          mcMap.y = param1.mSize.y;
  165.          param1.mcContainer.x = (param1.mSize.width - bmdBG.width) / 2;
  166.          mcMap.graphics.beginFill(0,1);
  167.          mcMap.graphics.drawRect(0,bmdBG.height,param1.mSize.width,param1.mSize.height - bmdBG.height);
  168.          mcMap.graphics.endFill();
  169.          mcMapMarker.scaleX = mcMapMarker.scaleY = mScalar;
  170.          mcMapMarker.buttonMode = true;
  171.          mcMapMarker.useHandCursor = true;
  172.          mcMapMarker.addEventListener(MouseEvent.MOUSE_DOWN,e_MOUSEDOWN_MAPMARKER);
  173.          new CHUDTooltip(mHUD,mcMapMarker,"Click left button and drag to scroll the screen. You can also use Arrow keys and Shift will scroll faster.");
  174.       }
  175.    }
  176. }
  177.